package tp.algo2.futbol

class Main {
	def static void main(String[] args)
	{
	val jugador1 = new Jugador
	val jugador2 = new Jugador
	val jugador3 = new Jugador
	val  invoker1 = new Invoker
	val seleccionarAmigo1 = new SeleccionarAmigo 
	val calificarPartido1 = new CalificarPartido
//	val condicional1 = new Condicional
//	val condicional2 = new Condicional
//	val estandar1 = new Estandar
//	val solidario1 = new Solidario
//	val porDia1 = new PorDia
//	val porLugar1 = new PorLugar

	/*jugador1.tipoJugador = condicional1
	porDia1.agregarDia ("mar")
	partido1.dia = "mar"
	condicional1.agregarCondicion(porDia1)
	*/
		//val xx1 = calificarPartido1.administradorEvaluar('7',jugador1,jugador2)
		//println(xx1)
		jugador1.seleccionarInvoker(invoker1)
		seleccionarAmigo1.ejecutarAccion("pepito",jugador1)
		seleccionarAmigo1.ejecutarAccion("pepito",jugador1)
		seleccionarAmigo1.ejecutarAccion("pepito",jugador1)
		seleccionarAmigo1.ejecutarAccion("pepito",jugador1)
		seleccionarAmigo1.ejecutarAccion("pepito",jugador1)
		
		val xx1	= jugador1.cantidadAmigos
		println(xx1)
		
		}
	
	/*jugador1.agregarObserver(notif)
	
	val asdd =  jugador1.cantidadObservers
	
	println(asdd)
	
	
	jugador1.notificarAmigos()
	
	}
	}
	*/
	/* 
	println("		 \t\tTORNEO DE FUTBOL 5 ")
	println("--------------------------------------------------------------------------------------------")
	// total jugadores
	println("Total inscriptos hasta ahora: " + partido1.cantidadDeJugadores)
	println("--------------------------------------------------------------------------------------------")
	println("		\t\tLista de Jugadores:")
	println("--------------------------------------------------------------------------------------------")
	
	// jugador condicional por condicion por lugar
	jugador3.tipoJugador = condicional1       //se le dice q tipo de jugador va a ser
	condicional1.agregarCondicion(porLugar1)  //se le dice q tipo de condicion
	jugador3.nombre = "Di Maria"
	porLugar1.lugar = "Belgrano"
	partido1.lugar = "Belgrano"
	var res3 = porLugar1.puedeJugar(partido1)
	//var res6 = jugador3.tipo() 
	println("El jugador: " + jugador3.getNombre + "\t|| es del del tipo: " + jugador3.tipo + " \t|| puede jugar ? : " +res3)

	// jugador tipo condicional por condicion por dia 
	jugador1.tipoJugador = condicional2
	condicional2.agregarCondicion(porDia1)
	jugador1.nombre = "Messi"
	partido1.dia = "martes"
	porDia1.dia = "jueves"
	//var res1 = jugador1.tipo()
	var res4 = jugador1.puedeJugar(partido1)
	println("El jugador: " + jugador1.getNombre + "\t|| es del del tipo: " + jugador1.tipo + " \t\t|| puede jugar ? : " +res4)
	
	// jugador tipo estandar
	jugador2.tipoJugador = estandar1
	jugador2.nombre = "Higuain"
	//var res2 = jugador2.tipo()
	var res5  = jugador2.puedeJugar(partido1)
	println("El jugador: " + jugador2.getNombre + "\t|| es del del tipo: " + jugador2.tipo + " \t\t|| puede jugar ? : " +res5 )

	// jugador tipo solidario
	jugador4.tipoJugador = solidario1
	jugador4.nombre = "Aguero"
	var res7 = jugador4.puedeJugar(partido1)
	//var res8 = jugador4.tipo() 
	println("El jugador: " + jugador4.getNombre + "\t|| es del del tipo: " + jugador4.tipo + " \t\t|| puede jugar ? : " +res7)
	
	//
	partido1.agregarJugador(jugador1)
	partido1.agregarJugador(jugador2)
	var res8 = partido1.cantidadDeJugadores
	println(res8)
	}*/
}




